// createLogger是vuex自带的函数
import { createStore, createLogger } from 'vuex'

// vuex持久化插件
/*
    Vuex持久化: 1.将数据存到vuex的内存 2.将vuex内存数据存储到本地即硬盘
    解决刷新之后数据丢失的问题
*/
import createPersistedState from 'vuex-persistedstate'

// 导入子模块
import user from './modules/user'
import cart from './modules/cart'
import category from './modules/category'

export default createStore({
  state: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
    user,
    cart,
    category
  },

  // plugins中可以添加多个插件
  plugins: [
    // vuex持久化
    // 默认集成之后存储所有数据
    createPersistedState({
    // 读取API，了解到还可以自定义属性
      key: 'rabbit-pc-01', // 更改存储名
      // ==========!!!!!paths为复数
      paths: ['user', 'cart'] // 指定存储数据
    }),

    // createLogger是vuex自带的函数
    createLogger({
      // 打印时会打印以下
      // prev state , mutation, next state
    })

  ]
})
